<html>
<head><meta charset="utf-8"><title>goals and next steps · wg-traits · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/index.html">wg-traits</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html">goals and next steps</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="187680178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680178">(Feb 07 2020 at 21:07)</a>:</h4>
<p>I've been thinking a lot about next steps and I want to start a conversation on the topic.</p>



<a name="187680247"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680247" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680247">(Feb 07 2020 at 21:08)</a>:</h4>
<p>For a long time we've been kind of struggling with the queston of "is wg-traits better named wg-chalk"?</p>



<a name="187680253"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680253" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680253">(Feb 07 2020 at 21:08)</a>:</h4>
<p>That is, how mcuh is this about improving rustc "in situ" and how much about adopting chalk</p>



<a name="187680255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680255">(Feb 07 2020 at 21:08)</a>:</h4>
<p>I've been thinking a bit about what "chalk" even <em>is</em></p>



<a name="187680259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680259">(Feb 07 2020 at 21:08)</a>:</h4>
<p>I think that it is a bunch of things :)</p>



<a name="187680273"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680273" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680273">(Feb 07 2020 at 21:08)</a>:</h4>
<ul>
<li>a semantics for the Rust trait system, by expressing traits/impls and all the rest in terms of standard logical predicates</li>
</ul>



<a name="187680332"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680332" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680332">(Feb 07 2020 at 21:09)</a>:</h4>
<ul>
<li>an enhanced set of capabilities based on that -- e.g., including "implication" and "forall" goals that we can't currently express directly, but which are sort of implied by the existing logic anyway. This is needed for GATs. So e.g. being able to write things like (in chalk notation) <code>forall&lt;T&gt; { if (T: Foo) { ... } }</code></li>
</ul>



<a name="187680387"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680387" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680387">(Feb 07 2020 at 21:10)</a>:</h4>
<ul>
<li>the idea of applying a "general purpose" solver to solve Rust traits that doesn't know anything specific about Rust (or very little)</li>
</ul>



<a name="187680421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680421">(Feb 07 2020 at 21:10)</a>:</h4>
<ul>
<li>a re-usable library that can be shared by rustc/rust-analyzer/other crates to implement the Rust trait system</li>
</ul>



<a name="187680459"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680459" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680459">(Feb 07 2020 at 21:11)</a>:</h4>
<p>It seems to me that this first one ("defining semantics") has clear value whatever happens -- but it also kind of <em>requires</em> some means of validating that the semantics are what we really expect. The best way to do that is to make it testable (hence \#3 and \#4), but not of course the only way.</p>



<a name="187680523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680523">(Feb 07 2020 at 21:12)</a>:</h4>
<p>I do have some doubts about \#3 (re-using a general purpose solver) -- not so much about the <em>core concept</em> of it, but I have some doubts that the existing solver will work for us</p>



<a name="187680561"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680561" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680561">(Feb 07 2020 at 21:13)</a>:</h4>
<p>Also, I am very wary of perfect being enemy of good, second-system syndrome, and the like</p>



<a name="187680575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680575">(Feb 07 2020 at 21:13)</a>:</h4>
<p>At the same time I think there is so much promise in the idea of a re-usable, sharable library</p>



<a name="187680587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680587">(Feb 07 2020 at 21:13)</a>:</h4>
<p>So this leads me to think that the best is to pursue a kind of two-prong strategy:</p>



<a name="187680594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680594">(Feb 07 2020 at 21:13)</a>:</h4>
<ul>
<li>Gradually improve rustc in place, bringing it closer to chalk's design</li>
</ul>



<a name="187680622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680622">(Feb 07 2020 at 21:13)</a>:</h4>
<ul>
<li>At the same time, keep improving chalk, making it more practical to adopt into rustc</li>
</ul>



<a name="187680694"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680694" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680694">(Feb 07 2020 at 21:14)</a>:</h4>
<p>I think part of where I always get bogged down here is trying to chart a bit too far into the future</p>



<a name="187680746"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680746" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680746">(Feb 07 2020 at 21:14)</a>:</h4>
<p>I think probably the best idea is to set some "general goals" that we are moving towards for each of those two bullets</p>



<a name="187680763"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680763" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680763">(Feb 07 2020 at 21:14)</a>:</h4>
<p>and chart out 2 or 3 actionable items</p>



<a name="187680800"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680800" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680800">(Feb 07 2020 at 21:14)</a>:</h4>
<p>and once those are done, we lay out the rest of the steps as we go</p>



<a name="187680812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680812">(Feb 07 2020 at 21:14)</a>:</h4>
<blockquote>
<p>So this leads me to think that the best is to pursue a kind of two-prong strategy:</p>
</blockquote>
<p>I think this has been a clear takeaway from recent meetings</p>



<a name="187680813"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680813" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680813">(Feb 07 2020 at 21:14)</a>:</h4>
<p>this suggests a kind of "sprint-like" methodology, as we've tried before</p>



<a name="187680823"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680823" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680823">(Feb 07 2020 at 21:14)</a>:</h4>
<p>I have some pretty specific ideas on the immediate steps for rustc</p>



<a name="187680838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680838">(Feb 07 2020 at 21:15)</a>:</h4>
<p>I also have some ideas for the steps on chalk, though I feel a bit more flexible there, I think there's some more room for experimentation</p>



<a name="187680941"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187680941" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187680941">(Feb 07 2020 at 21:16)</a>:</h4>
<p>The final question that I still struggle with is how I can dedicate more reserved time. I feel like for my own emotional well being I kind of need to do that. I cannot live with chalk being unresolved another year:P I think I can pretty clearly dedicate 2 days a week (Monday, Friday). I would like to find a way to do 3, but I'm not sure that's realistic. Maybe 2.5 is plausible.</p>



<a name="187681063"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681063" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681063">(Feb 07 2020 at 21:18)</a>:</h4>
<p>Not to suggest everything is blocked on me :)</p>



<a name="187681075"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681075" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681075">(Feb 07 2020 at 21:18)</a>:</h4>
<p>But I do feel like I am a bottleneck and I want to work hard at reversing that</p>



<a name="187681378"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681378" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681378">(Feb 07 2020 at 21:20)</a>:</h4>
<p>So, somewhat specifically, I think the <em>immediate</em> changes we should be making on rustc are:</p>
<ul>
<li>the work that <span class="user-mention" data-user-id="224180">@Ben Lewis</span> has been doing around const lazy norm is good</li>
<li>finishing up the work I started on removing the leak check</li>
<li>refactoring <code>Predicate</code> to move it closer to what chalk has<ul>
<li>factoring out binders</li>
<li>introducing "implication" </li>
<li>introducing "forall goals" which are quantified over types</li>
</ul>
</li>
<li>refactoring rustc's type to move it closer to chalk &lt;-- this is a bit more experimental</li>
</ul>



<a name="187681395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681395">(Feb 07 2020 at 21:21)</a>:</h4>
<p>On chalk I think the picture is a bit more complex :)</p>



<a name="187681417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681417">(Feb 07 2020 at 21:21)</a>:</h4>
<p>But also I think we've been charting a pretty clear course around</p>



<a name="187681480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681480">(Feb 07 2020 at 21:22)</a>:</h4>
<ul>
<li>refactoring the representation of types to make it possible to integrate into rustc</li>
<li>integrating into rustc at the chalk-solve point</li>
<li>addressing perf shortcomings found by rust-analyzer</li>
</ul>



<a name="187681488"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681488" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681488">(Feb 07 2020 at 21:22)</a>:</h4>
<p>and we should probably keep at that</p>



<a name="187681615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681615">(Feb 07 2020 at 21:23)</a>:</h4>
<p>(One of the things I'd love to discuss, but not this second, is a new idea I had for an alternative chalk solver design; kind of a return to one of our older designs, but with a twist, that I think may help improve performance and address the associated type normalization problems)</p>



<a name="187681696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681696">(Feb 07 2020 at 21:24)</a>:</h4>
<p>I think the other big items that are not on this list are not so much "engineering and refactoring" as playing with the first bullet I listed above, of using chalk to define Rust semantics -- I think there are interesting open areas we're exploring around specialization, coherence, and negative reasoning, and I'd like to see us leveraging chalk for that, but I don't know how much we have bandwidth to pursue those as explicit goals</p>



<a name="187681809"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681809" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681809">(Feb 07 2020 at 21:26)</a>:</h4>
<p>Anyway, that's all I have to say for now ;) hopefully that made sense to people? I may try to start opening issues around the predicate refactorings above and rustc</p>



<a name="187681828"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681828" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681828">(Feb 07 2020 at 21:26)</a>:</h4>
<p>I'd love to find someone who wants to take them on</p>



<a name="187681844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681844">(Feb 07 2020 at 21:26)</a>:</h4>
<p>There might be more bandwidth for that once chalk is better integrated in rustc, because it opens up possibilities</p>



<a name="187681846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681846">(Feb 07 2020 at 21:26)</a>:</h4>
<blockquote>
<p>I think the other big items that are not on this list are not so much "engineering and refactoring" as playing with the first bullet I listed above, of using chalk to define Rust semantics -- I think there are interesting open areas we're exploring around specialization, coherence, and negative reasoning, and I'd like to see us leveraging chalk for that, but I don't know how much we have bandwidth to pursue those as explicit goals</p>
</blockquote>
<p>See, to me, that seems like (for lack of a better phrase) Chalk's <em>purpose</em> as a library: to provide a compiler-somewhat-independent way of exploring these areas</p>



<a name="187681858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681858">(Feb 07 2020 at 21:27)</a>:</h4>
<blockquote>
<p>(One of the things I'd love to discuss, but not this second, is a new idea I had for an alternative chalk solver design; kind of a return to one of our older designs, but with a twist, that I think may help improve performance and address the associated type normalization problems)</p>
</blockquote>
<p>interesting, would love to hear :)</p>



<a name="187681859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681859">(Feb 07 2020 at 21:27)</a>:</h4>
<p>I guess the question I'm a bit interested is how much to treat those two things (improving rustc, improving chalk) as distinct areas of activity, or how much to overlap them (i.e., should we create a wg-chalk?). I see appeal both ways.</p>



<a name="187681970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681970">(Feb 07 2020 at 21:28)</a>:</h4>
<blockquote>
<p>There might be more bandwidth for that once chalk is better integrated in rustc, because it opens up possibilities</p>
</blockquote>
<p>yeah, so I think we should be aggressively pursuing this -- but I also think that if we are also working on improving rustc, it helps because I think the initial integration will be inefficient</p>



<a name="187681972"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681972" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681972">(Feb 07 2020 at 21:28)</a>:</h4>
<p>and that's ok :)</p>



<a name="187681976"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681976" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681976">(Feb 07 2020 at 21:28)</a>:</h4>
<p>I don't think we should create a wg-chalk. Maybe if a split become possible when more work is done on the rustc side, but as of now there's no reason to</p>



<a name="187681991"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187681991" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187681991">(Feb 07 2020 at 21:28)</a>:</h4>
<p>I lean that way too, I think ideally we'd have a group of folks comfortable with both codebases</p>



<a name="187682010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682010">(Feb 07 2020 at 21:29)</a>:</h4>
<p>because I suspect the path to success here is going to be moving them closer and closer together until they can be made one with relative ease</p>



<a name="187682022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682022">(Feb 07 2020 at 21:29)</a>:</h4>
<p>I also lean against splitting, if only nothing else because there's already so few people involved</p>



<a name="187682038"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682038" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682038">(Feb 07 2020 at 21:29)</a>:</h4>
<p>but also because there's quite a bit of overlap in "theory"</p>



<a name="187682313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682313">(Feb 07 2020 at 21:32)</a>:</h4>
<p>OK, then we're all in agreement, it seems</p>



<a name="187682377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682377">(Feb 07 2020 at 21:33)</a>:</h4>
<blockquote>
<p>See, to me, that seems like (for lack of a better phrase) Chalk's <em>purpose</em> as a library: to provide a compiler-somewhat-independent way of exploring these areas</p>
</blockquote>
<p>to circle back to this, I think this is true, but it definitely will take work to (e.g.) pursue modeling specialization in chalk, and I'm not sure it's the work we should be doing <em>right now</em> (as opposed to trying to improve rustc's solver and integrate chalk to help validate the "lowerings" we have right now)</p>



<a name="187682382"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682382" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682382">(Feb 07 2020 at 21:34)</a>:</h4>
<p>but I don't think that's obvious</p>



<a name="187682613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682613">(Feb 07 2020 at 21:36)</a>:</h4>
<p>something else I'm pondering is how to "organize" the group's efforts</p>



<a name="187682841"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682841" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682841">(Feb 07 2020 at 21:39)</a>:</h4>
<p>I feel a strong need to have a relatively simple place listing out the "things the working group is doing", and I feel like the rust issue tracker is kind of overwhelming. I'm basically stuck trying to decide where to open up issues to describe the steps I wrote stuff about above :P</p>



<a name="187682859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682859">(Feb 07 2020 at 21:39)</a>:</h4>
<p>I sort of want to use <a href="https://github.com/rust-lang/wg-traits" target="_blank" title="https://github.com/rust-lang/wg-traits">https://github.com/rust-lang/wg-traits</a>, I admit</p>



<a name="187682863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682863">(Feb 07 2020 at 21:39)</a>:</h4>
<p>maybe I'll just write stuff there for now</p>



<a name="187682948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187682948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187682948">(Feb 07 2020 at 21:40)</a>:</h4>
<p>but it feels sort of wrong, maybe the answer is just to use the GH projects there and leave the issues on the projects they affect</p>



<a name="187683036"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683036" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683036">(Feb 07 2020 at 21:42)</a>:</h4>
<p>GH projects seem a bit easier to edit, especially now that we got added to the GH team</p>



<a name="187683127"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683127" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683127">(Feb 07 2020 at 21:43)</a>:</h4>
<p>I'm thinking a bit now -- <span class="user-mention" data-user-id="116118">@Matthew Jasper</span> is working e.g. on implementing the "always applicable" semantics for specialization, as they mentioned elsewhere -- that seems like work that is worth tracking here too</p>



<a name="187683212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683212">(Feb 07 2020 at 21:44)</a>:</h4>
<p>one final question is whether we should consider a "sprint-like" setup. It seems interesting to me to use sprints as a way to get people "hooked in"</p>



<a name="187683215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683215">(Feb 07 2020 at 21:44)</a>:</h4>
<p>we've never made much success with it</p>



<a name="187683255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683255">(Feb 07 2020 at 21:45)</a>:</h4>
<p>but I like the idea of saying (say): </p>
<ul>
<li>6-week sprints</li>
<li>maybe at the last week, we write-up what we did, and post a blog post encouraging people to show up for the next spring planning meeting</li>
<li>we explicitly say: only come if you can commit to working consistently over next 6 weeks (to help make expectations clear)</li>
</ul>
<p>i.e., rather than people kind of "showing up whenever"</p>



<a name="187683263"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683263" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683263">(Feb 07 2020 at 21:45)</a>:</h4>
<p>but maybe it's solving a non-problem</p>



<a name="187683400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683400">(Feb 07 2020 at 21:47)</a>:</h4>
<p>If we can split up work into 6 week chunks, then I think that could be super useful for getting people involved</p>



<a name="187683404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683404">(Feb 07 2020 at 21:47)</a>:</h4>
<p>the main thing I like about 6-week sprints is the direction it gives. People turning up follows that</p>



<a name="187683465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683465">(Feb 07 2020 at 21:48)</a>:</h4>
<p>maybe we should try to start our first sprint next week? :)</p>



<a name="187683469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683469">(Feb 07 2020 at 21:48)</a>:</h4>
<p>give it one more try ;)</p>



<a name="187683482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683482">(Feb 07 2020 at 21:48)</a>:</h4>
<p>I continue to think it would be useful, it'll just take some discipline to make it work</p>



<a name="187683486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683486">(Feb 07 2020 at 21:48)</a>:</h4>
<p>well, then we should think about goals :)</p>



<a name="187683501"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683501" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683501">(Feb 07 2020 at 21:49)</a>:</h4>
<p>maybe not next week though</p>



<a name="187683504"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683504" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683504">(Feb 07 2020 at 21:49)</a>:</h4>
<p>maybe the week after</p>



<a name="187683507"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683507" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683507">(Feb 07 2020 at 21:49)</a>:</h4>
<p>give us one week to plan</p>



<a name="187683510"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683510" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683510">(Feb 07 2020 at 21:49)</a>:</h4>
<p>btw I'll be working weird hours the week after</p>



<a name="187683520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683520">(Feb 07 2020 at 21:49)</a>:</h4>
<p>and can't attend the meeting, for example</p>



<a name="187683532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683532">(Feb 07 2020 at 21:49)</a>:</h4>
<p>then maybe a blog post to introduce the sprint</p>



<a name="187683539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683539">(Feb 07 2020 at 21:49)</a>:</h4>
<p>ad-hoc meetings like this one work fine too</p>



<a name="187683541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683541">(Feb 07 2020 at 21:50)</a>:</h4>
<p>but honestly we could plan for the week after -- and it'd be fine</p>



<a name="187683602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683602">(Feb 07 2020 at 21:50)</a>:</h4>
<p>(though I'd not want to put everything on hold till then)</p>



<a name="187683609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683609">(Feb 07 2020 at 21:50)</a>:</h4>
<p>but if we wanted to write a blog post etc, maybe we should give ourselves a bit of time to do that</p>



<a name="187683669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683669">(Feb 07 2020 at 21:51)</a>:</h4>
<p>also though, I feel like if we put out a blog post or internals post next Friday or the following Monday (or whichever week) and say "come to the Tuesday meeting if you want to get involved and/or have questions"</p>



<a name="187683686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683686">(Feb 07 2020 at 21:51)</a>:</h4>
<p>then assuming people show up, we might not have a "meeting" that gets a ton of things done</p>



<a name="187683784"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683784" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683784">(Feb 07 2020 at 21:52)</a>:</h4>
<p>But if we do a sprint, I think we should think about how to make co-applicable to both rustc and chalk</p>



<a name="187683795"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683795" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683795">(Feb 07 2020 at 21:52)</a>:</h4>
<p>(if even possible)</p>



<a name="187683958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683958">(Feb 07 2020 at 21:55)</a>:</h4>
<p>maybe the answer is</p>



<a name="187683974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683974">(Feb 07 2020 at 21:55)</a>:</h4>
<p>maybe a "sprint planning meeting" isn't ideal, in short</p>



<a name="187683986"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187683986" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187683986">(Feb 07 2020 at 21:55)</a>:</h4>
<p>sync meetings are always kind of hard to arrange anyway</p>



<a name="187684010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684010">(Feb 07 2020 at 21:55)</a>:</h4>
<p>I wonder if we could say "next week is sprint planning week, here are the tasks and the expectations, claim 'em"</p>



<a name="187684014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684014">(Feb 07 2020 at 21:55)</a>:</h4>
<p>and people can show up</p>



<a name="187684056"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684056" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684056">(Feb 07 2020 at 21:56)</a>:</h4>
<p>we plan out in advance a certain number of tasks, depending on mentoring bandwidth</p>



<a name="187684078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684078">(Feb 07 2020 at 21:56)</a>:</h4>
<p>this might indeed start out fairly small but I think both of you could already mentor some tasks</p>



<a name="187684098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684098">(Feb 07 2020 at 21:56)</a>:</h4>
<p>jack certainly knows chalk-engine better than I do at this point :P</p>



<a name="187684121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684121">(Feb 07 2020 at 21:57)</a>:</h4>
<p>I do think we need to do the "write up what happened over the sprint" step though</p>



<a name="187684224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684224">(Feb 07 2020 at 21:58)</a>:</h4>
<p>That's sort of what I'm thinking: decide on a few tasks of a similar theme (split between chalk and rustc), and have people claim then and give it a go</p>



<a name="187684235"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684235" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684235">(Feb 07 2020 at 21:58)</a>:</h4>
<p>I can definitely mentor through the engine</p>



<a name="187684261"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684261" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684261">(Feb 07 2020 at 21:58)</a>:</h4>
<p>probably at least in part through the other parts of chalk</p>



<a name="187684275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684275">(Feb 07 2020 at 21:59)</a>:</h4>
<p>rustc not much at all</p>



<a name="187684304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684304">(Feb 07 2020 at 21:59)</a>:</h4>
<p>yep.</p>



<a name="187684313"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684313" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684313">(Feb 07 2020 at 21:59)</a>:</h4>
<p>I like this idea</p>



<a name="187684330"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684330" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684330">(Feb 07 2020 at 21:59)</a>:</h4>
<p>I am very into trying to find systems that help to take "capacity" into account</p>



<a name="187684385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684385">(Feb 07 2020 at 22:00)</a>:</h4>
<p>Which sort of brings up what we want the sprint to be "about"</p>



<a name="187684392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684392">(Feb 07 2020 at 22:00)</a>:</h4>
<p>this is sort of what I was talking about in the beginning :)</p>



<a name="187684411"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684411" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684411">(Feb 07 2020 at 22:00)</a>:</h4>
<p>yes</p>



<a name="187684421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684421">(Feb 07 2020 at 22:00)</a>:</h4>
<p>i.e., those little bullet lists I made were kind of "sprint-worthy" tasks -- although, to be clear, I think some of them might take more than 6 weeks,</p>



<a name="187684432"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684432" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684432">(Feb 07 2020 at 22:00)</a>:</h4>
<p>but I'd kind of be ok with "we'll push this boulder up the hill for 6 weeks"</p>



<a name="187684478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Wesley Wiser <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684478">(Feb 07 2020 at 22:01)</a>:</h4>
<p>One of the issues we face doing sprints a lot at $dayjob is that a lot of the work is very interdependent and it makes it hard to distribute to people without everyone becoming blocked on each other. I don't know how much that applies here, but it might be good to try to find work that is pretty independent from each other. That will also help keep "velocity" up if people are unable to complete the work/stop showing up during the sprint.</p>



<a name="187684569"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684569" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684569">(Feb 07 2020 at 22:02)</a>:</h4>
<blockquote>
<p>but I'd kind of be ok with "we'll push this boulder up the hill for 6 weeks"</p>
</blockquote>
<p>let me try to clarify what I'm saying here, I might well be wrong</p>



<a name="187684573"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684573" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684573">(Feb 07 2020 at 22:02)</a>:</h4>
<p>what I'm saying is:</p>



<a name="187684587"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684587" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684587">(Feb 07 2020 at 22:02)</a>:</h4>
<p>if we have some "larger goals", they obviously need to be broken into finer grained steps, to some extent</p>



<a name="187684603"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684603" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684603">(Feb 07 2020 at 22:03)</a>:</h4>
<p>but e.g. a goal like "introduce implication goals into rustc" -- that's too high-level, I'm not sure what the series of commits/PRs is yet</p>



<a name="187684620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684620">(Feb 07 2020 at 22:03)</a>:</h4>
<p>I could well see though that only some prefix of them fit in 6 weeks</p>



<a name="187684641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684641">(Feb 07 2020 at 22:03)</a>:</h4>
<p>I could also see that these things are easiest to find by just starting and unrolling</p>



<a name="187684700"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684700" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684700">(Feb 07 2020 at 22:04)</a>:</h4>
<p>so I'm debating how much of that to work out in advance, basically, or to just have "a step or two" available for each thing</p>



<a name="187684740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684740">(Feb 07 2020 at 22:04)</a>:</h4>
<p>ack! I gotta run to a mtg now :)</p>



<a name="187684761"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187684761" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187684761">(Feb 07 2020 at 22:05)</a>:</h4>
<blockquote>
<p>but e.g. a goal like "introduce implication goals into rustc" -- that's too high-level, I'm not sure what the series of commits/PRs is yet</p>
</blockquote>
<p>I think I missed this. Was this the lowering validation?</p>



<a name="187685047"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187685047" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187685047">(Feb 07 2020 at 22:09)</a>:</h4>
<p>We'll definitely discuss this next week. If not before, definitely at Tuesday's meeting. I'll put together 2-3 tasks (a short description of the problem and a bit of mentoring instructions) that can be done in Chalk that can be done within 6 weeks.</p>



<a name="187690234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187690234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187690234">(Feb 07 2020 at 23:32)</a>:</h4>
<p>Some thoughts about this:</p>



<a name="187690244"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187690244" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187690244">(Feb 07 2020 at 23:32)</a>:</h4>
<p>Ah, well, basically what <span class="user-mention" data-user-id="232957">@Jack Huey</span> wrote :P</p>



<a name="187690278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187690278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187690278">(Feb 07 2020 at 23:32)</a>:</h4>
<p>that is, I think maybe the way to do this is "sprint planning" is again to be sort of async; essentially folks can come up with a few tasks -- one (or two...) they might do, and (if applicable) some they might mentor</p>



<a name="187690288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187690288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187690288">(Feb 07 2020 at 23:33)</a>:</h4>
<p>I don't know that we need more "top down" direction than that</p>



<a name="187690303"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187690303" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187690303">(Feb 07 2020 at 23:33)</a>:</h4>
<p>I will try to make a list by Tuesday's meeting as well</p>



<a name="187713391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713391">(Feb 08 2020 at 11:32)</a>:</h4>
<p>I was thikning</p>



<a name="187713397"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713397" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713397">(Feb 08 2020 at 11:32)</a>:</h4>
<p>maybe we should make a "sprint planning doc" where folks can take some notes? I think we used to have one</p>



<a name="187713421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713421">(Feb 08 2020 at 11:33)</a>:</h4>
<p>ok so we <a href="https://paper.dropbox.com/doc/WG-Traits-Planning-Meeting--At~56rNj2tNT~5xVF4YLd4ciAg-oDfr6ct8xx63HSAOOmIZX" target="_blank" title="https://paper.dropbox.com/doc/WG-Traits-Planning-Meeting--At~56rNj2tNT~5xVF4YLd4ciAg-oDfr6ct8xx63HSAOOmIZX">had this master paper doc</a> and in particular this <a href="https://paper.dropbox.com/doc/2019.04.29-2019.06.10--At8TplYf7inMc5Q6IpOLuhgLAg-5gix1dpUSHKirVcEww5iw" target="_blank" title="https://paper.dropbox.com/doc/2019.04.29-2019.06.10--At8TplYf7inMc5Q6IpOLuhgLAg-5gix1dpUSHKirVcEww5iw">sprint planning doc</a></p>



<a name="187713423"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713423" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713423">(Feb 08 2020 at 11:33)</a>:</h4>
<p>a lot of its contents are still relevant ;)</p>



<a name="187713465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713465">(Feb 08 2020 at 11:34)</a>:</h4>
<p>but I was imagining this time a kind fresh doc that is kind of organized by person</p>



<a name="187713466"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713466" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713466">(Feb 08 2020 at 11:34)</a>:</h4>
<p>and we can add comments and thoughts, and review it during the meeting</p>



<a name="187713482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713482">(Feb 08 2020 at 11:35)</a>:</h4>
<p>though reading that makes me think it would <em>separately</em> be useful to be sketching out the range of "incomplete things", since some of the stuff in there (e.g., adding more builtin traits to chalk) I had sort of forgotten about</p>



<a name="187713559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187713559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187713559">(Feb 08 2020 at 11:38)</a>:</h4>
<p>Here is a <a href="https://paper.dropbox.com/doc/wg-traits-2020-sprint-planning--At9sZrDqNr_seBV~Ei7v0jjTAg-SSt74TfcovdnKKhZNyzeW" target="_blank" title="https://paper.dropbox.com/doc/wg-traits-2020-sprint-planning--At9sZrDqNr_seBV~Ei7v0jjTAg-SSt74TfcovdnKKhZNyzeW">fresh document we can use</a>, I'll add some thoughts of my own, <span class="user-mention" data-user-id="232957">@Jack Huey</span>, <span class="user-mention" data-user-id="125131">@detrumi</span>, and whomever else, please add to there.</p>



<a name="187716388"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187716388" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187716388">(Feb 08 2020 at 13:07)</a>:</h4>
<p>(Heh, initial editing is making me realize I really want us to be drawing up the "larger plan" more explicitly as well -- but I don't think we want to block on that, so I put that down as a "sprint goal" in and of itself)</p>



<a name="187733683"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187733683" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187733683">(Feb 08 2020 at 22:22)</a>:</h4>
<p>I'll add my ideas to the doc.</p>



<a name="187733684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187733684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187733684">(Feb 08 2020 at 22:22)</a>:</h4>
<p>Indeed, a lot of the points from old docs are still relevant</p>



<a name="187733686"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187733686" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187733686">(Feb 08 2020 at 22:22)</a>:</h4>
<p>This one is more recent: <a href="https://hackmd.io/J1QG2rwERAKdknM_qgrhMA?both" target="_blank" title="https://hackmd.io/J1QG2rwERAKdknM_qgrhMA?both">https://hackmd.io/J1QG2rwERAKdknM_qgrhMA?both</a></p>



<a name="187847552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187847552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187847552">(Feb 10 2020 at 19:07)</a>:</h4>
<p>Yes:)</p>



<a name="187847558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187847558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187847558">(Feb 10 2020 at 19:07)</a>:</h4>
<p>So many attempts :)</p>



<a name="187849217"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187849217" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187849217">(Feb 10 2020 at 19:23)</a>:</h4>
<p>I'm spending a little time right now trying to combine things into a kind of "master plan" of things we can do, with interconnections, perhaps to be modeled ultimately in the form of a graphviz document.</p>



<a name="187849220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187849220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187849220">(Feb 10 2020 at 19:23)</a>:</h4>
<p>I feel like we are going to want this</p>



<a name="187851783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187851783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187851783">(Feb 10 2020 at 19:53)</a>:</h4>
<blockquote>
<p>I'm spending a little time right now trying to combine things into a kind of "master plan" of things we can do, with interconnections, perhaps to be modeled ultimately in the form of a graphviz document.</p>
</blockquote>
<p>sounds fun</p>



<a name="187855249"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855249" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855249">(Feb 10 2020 at 20:34)</a>:</h4>
<p>this is actually turning out kind of good</p>



<a name="187855250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855250">(Feb 10 2020 at 20:34)</a>:</h4>
<p>I'm trying to figure out the best way to "publish it"</p>



<a name="187855289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855289">(Feb 10 2020 at 20:35)</a>:</h4>
<p>I'm shooting for the same structure the <a href="https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/" target="_blank" title="https://hacks.mozilla.org/2018/10/webassemblys-post-mvp-future/">"WASM skill tree"</a></p>



<a name="187855347"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855347" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855347">(Feb 10 2020 at 20:36)</a>:</h4>
<p>i.e., you have "goals" and then you have "themes" and within "themes" are work items</p>



<a name="187855404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855404">(Feb 10 2020 at 20:36)</a>:</h4>
<p>right now the idea is that these will get converted to a graphviz file by a very simple structure</p>



<a name="187855426"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855426" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855426">(Feb 10 2020 at 20:36)</a>:</h4>
<p>this looks something like this</p>



<a name="187855428"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855428" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855428">(Feb 10 2020 at 20:36)</a>:</h4>
<p><a href="/user_uploads/4715/uy3-AFaeG5LWuVuMBJeFqdi4/pasted_image.png" target="_blank" title="pasted_image.png">pasted image</a></p>
<div class="message_inline_image"><a href="/user_uploads/4715/uy3-AFaeG5LWuVuMBJeFqdi4/pasted_image.png" target="_blank" title="pasted image"><img src="/user_uploads/4715/uy3-AFaeG5LWuVuMBJeFqdi4/pasted_image.png"></a></div>



<a name="187855439"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855439" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855439">(Feb 10 2020 at 20:36)</a>:</h4>
<p>those items can be hyperlinked etc</p>



<a name="187855447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855447">(Feb 10 2020 at 20:37)</a>:</h4>
<p>I'm trying to figure out how to get this into the wg-traits repository</p>



<a name="187855490"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855490" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855490">(Feb 10 2020 at 20:37)</a>:</h4>
<p>I wanted to set that up as an mdbook-based page, and perhaps use <a href="http://viz-js.com/" target="_blank" title="http://viz-js.com/">viz.js</a></p>



<a name="187855552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855552">(Feb 10 2020 at 20:38)</a>:</h4>
<p>but I'm not 100% sure how to do that -- maybe <span class="user-mention" data-user-id="116122">@simulacrum</span> or <span class="user-mention" data-user-id="120518">@Eric Huss</span> can advise :)</p>



<a name="187855584"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855584" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855584">(Feb 10 2020 at 20:38)</a>:</h4>
<p>in my ideal world, we'd have a toml file that gets converted to graphviz via some rust</p>



<a name="187855598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855598">(Feb 10 2020 at 20:38)</a>:</h4>
<p>and then rendered</p>



<a name="187855609"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855609" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855609">(Feb 10 2020 at 20:38)</a>:</h4>
<p>I guess I should look at how forge is setup to get a feel for how practical that is</p>



<a name="187855631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855631">(Feb 10 2020 at 20:39)</a>:</h4>
<p>I suppose I could probably setup some thing that runs on travis and e.g. runs viz.js via node to preprocess and just links to the final svg output</p>



<a name="187855643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855643">(Feb 10 2020 at 20:39)</a>:</h4>
<p>but before I invest too much effort into automating stuff... :P</p>



<a name="187855666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855666">(Feb 10 2020 at 20:39)</a>:</h4>
<p>Not sure about mdbook. But yeah, looking at forge is probably good. My recommendation is indeed to get it working manually first :)</p>



<a name="187855836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855836">(Feb 10 2020 at 20:41)</a>:</h4>
<p>I suspect running graphviz locally is going to be much easier, but I could be wrong</p>



<a name="187855862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855862">(Feb 10 2020 at 20:41)</a>:</h4>
<p>well, viz.js is pretty self-contained</p>



<a name="187855920"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855920" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855920">(Feb 10 2020 at 20:42)</a>:</h4>
<p>you can basically just upload a custom <code>&lt;script&gt;</code> and it will launch graphviz and render to an SVG</p>



<a name="187855962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855962">(Feb 10 2020 at 20:43)</a>:</h4>
<p>still, to start, I could setup the "read TOML file and emit/run graphviz" part of this equation, regardless</p>



<a name="187855974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855974">(Feb 10 2020 at 20:43)</a>:</h4>
<p>I guess it's not a given that I should use mdbook anyway, though I've often found it to be just be the easiest dang thing</p>



<a name="187855979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855979">(Feb 10 2020 at 20:43)</a>:</h4>
<p>maybe jekyll would be as good or better in this case</p>



<a name="187855997"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187855997" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187855997">(Feb 10 2020 at 20:43)</a>:</h4>
<p>anyway I'm going to worry about this later, the more interesting question is to share and work through the actual <em>work items</em></p>



<a name="187856065"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187856065" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187856065">(Feb 10 2020 at 20:44)</a>:</h4>
<p>I recommend against jekyll, it can be a real pain to get it running locally in my experience</p>



<a name="187857632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187857632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187857632">(Feb 10 2020 at 21:01)</a>:</h4>
<p>interesting</p>



<a name="187857696"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187857696" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187857696">(Feb 10 2020 at 21:02)</a>:</h4>
<p>I guess I've found it "ok" but .. it is using ruby .. and that's always kind of  a pain in my experience</p>



<a name="187858629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187858629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187858629">(Feb 10 2020 at 21:13)</a>:</h4>
<p>yeah, ruby was the problem for me (probably mostly because I only have rust by default :)</p>



<a name="187858717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187858717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187858717">(Feb 10 2020 at 21:14)</a>:</h4>
<p>I think Rust is the only ecosystem I've used that has completely gotten "package management" and "global, but per-user, installs" right -- everything else has bugs or incompatiblities. At least in my experience :)</p>



<a name="187862015"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187862015" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Eric Huss <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187862015">(Feb 10 2020 at 21:48)</a>:</h4>
<p>It looks like you're trying to publish a graphical work breakdown? I would encourage you to keep it as simple as possible. I assume the audience is quite small (the wg-trait team?), so I wouldn't invest too much time in it. There are <em>countless</em> project management tools that do this kind of thing (and also mind-mapping software), so if you could use one, that might be better than trying to rig something together with graphviz. Or just skip the graphical layout and use simple tools like GitHub Projects or a plain text document.</p>



<a name="187865537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187865537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187865537">(Feb 10 2020 at 22:27)</a>:</h4>
<p>OK, after a bit of work, I've updated my (old, abandoned) skill-tree project to do roughly what I want</p>



<a name="187865586"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187865586" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187865586">(Feb 10 2020 at 22:27)</a>:</h4>
<p>you create a toml file as input like</p>



<a name="187865590"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187865590" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187865590">(Feb 10 2020 at 22:28)</a>:</h4>
<div class="codehilite"><pre><span></span>[[group]]
name = &quot;align-rustc-predicate&quot;
label = &quot;Align rustc predicates with chalk predicates&quot;
items = [
  { label = &quot;isolate Binder into a Forall goal&quot; },
  { label = &quot;introduce Implication&quot; },
  { label = &quot;introduce Forall goals with types&quot; },
]
</pre></div>



<a name="187865635"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187865635" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187865635">(Feb 10 2020 at 22:28)</a>:</h4>
<p>and you get as output a graphviz file that renders sort of like what I showed above</p>



<a name="187865661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187865661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187865661">(Feb 10 2020 at 22:28)</a>:</h4>
<p><a href="https://github.com/nikomatsakis/skill-tree" target="_blank" title="https://github.com/nikomatsakis/skill-tree">skill-tree repository</a></p>



<a name="187866159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187866159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187866159">(Feb 10 2020 at 22:35)</a>:</h4>
<p>Sadly, I have to stop for the day! I am <em>just this much short</em> of reaching my goal of having something I can drop into wg-traits and deploy. Ah well.</p>



<a name="187866307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187866307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187866307">(Feb 10 2020 at 22:36)</a>:</h4>
<p>Anyway, <span class="user-mention" data-user-id="120518">@Eric Huss</span>, regarding those countless bits of software... I tried a lot of them, but I wasn't satisfied with any of them. Among other things, I didn't think that they could handle the workflow I wanted of being able to have compile teams and working groups maintain their overall plans and status as git-managed skill-trees (if this works out, I'd like to see if we can't extend skill-tree planning even a bit higher up, such as to areas like "async-await" as a whole). That said, I do hope that we can keep this quite simple (i.e., I think it's mostly done now)</p>



<a name="187942906"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187942906" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> detrumi <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187942906">(Feb 11 2020 at 19:06)</a>:</h4>
<p>Wouldn't there be a meeting around this time?</p>



<a name="187943266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/144729-wg-traits/topic/goals%20and%20next%20steps/near/187943266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jack Huey <a href="https://rust-lang.github.io/zulip_archive/stream/144729-wg-traits/topic/goals.20and.20next.20steps.html#187943266">(Feb 11 2020 at 19:10)</a>:</h4>
<p>4PM :) (2 hours from now)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>